home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Tech Arsenal 1
/
Tech Arsenal (Arsenal Computer).ISO
/
tek-04
/
netprog.zip
/
NETPROG.TAR
/
ipc
/
tim_mesg1.c
< prev
next >
Wrap
C/C++ Source or Header
|
1989-12-17
|
1KB
|
66 lines
#include <stdio.h>
#include "mesg.h"
#define NUMMESG 10000
#define MESGLEN 2048
Mesg mesg;
client(ipcreadfd, ipcwritefd)
int ipcreadfd;
int ipcwritefd;
{
register int i, n;
/*
* Send a message to the server telling it we're here.
*/
mesg.mesg_len = MESGLEN;
mesg.mesg_type = 1;
mesg_send(ipcwritefd, &mesg);
/*
* Then read all the messages from the server.
*/
for (i = 0; i < NUMMESG; i++) {
mesg.mesg_type = 0; /* receive first message on queue */
if ( (n = mesg_recv(ipcreadfd, &mesg)) <= 0)
err_sys("client: mesg_recv error");
if (n != MESGLEN)
err_sys("client: incorrect length");
if (mesg.mesg_type != (i + 1))
err_sys("client: incorrect type");
}
}
server(ipcreadfd, ipcwritefd)
int ipcreadfd;
int ipcwritefd;
{
register int i, n;
/*
* Wait for a message from the client telling us it's ready.
*/
mesg.mesg_type = 0; /* receive first message on queue */
if ( (n = mesg_recv(ipcreadfd, &mesg)) <= 0)
err_sys("server: mesg_recv error");
if (n != MESGLEN)
err_sys("server: incorrect length");
if (mesg.mesg_type != 1)
err_sys("server: incorrect type");
/*
* Now send all the messages to the client.
*/
mesg.mesg_len = MESGLEN;
for (i = 0; i < NUMMESG; i++) {
mesg.mesg_type = i + 1;
mesg_send(ipcwritefd, &mesg);
}
}